#ifndef GROUP_H
#define GROUP_H
#define FOR_EACH_ATOM_i    for(int i=0; i< num; i++)

#include "atom.h"
#include <vector>
using namespace std;

class group
{
private:
    int type;
    real mass;
    int ll, lu;    
public:
    int num;
    group(){};
    group(int t0, int, int, real m);         // object constructor

    vector<atom> a;                          // array of atoms
    vector<vec3>  f;                          // force of each atom
	
    void r1_random();
    void r1_balance();
	void predict();	
	void correct();	
	void binning();
	void periodicbc();                      // apply periodic boundary condition
	void tether();                          // calculate tether force
	void addforce(vec3);                     // add force to vec f
	void clearforce();                      // set force to 0
    void info();
};

#endif
